Three-phase brushless motors are used in a wide variety of applications. In order to drive such motors in a stable manner at all times, it is necessary to be able to accurately determine the state of the motor—that is, whether the motor is stopped or rotating, and, if rotating, whether it is rotating in a positive or reverse direction. Some techniques for determining the motor state are known, but these techniques often produce inaccurate results because they fail to account for various external influences, such as noise. The consequences of such inaccurate determination of motor state can be severe, including slow motor startup and overheating resulting in significant motor damage. Thus, techniques for more accurately identifying motor state are desired.